/**
 * LuckDog工具库 - 快速入门示例 (CommonJS版本)
 * 
 * 此文件演示了LuckDog工具库在 Node.js CommonJS 环境下的使用方式
 */

// 方式1: 从CommonJS文件导入
// 注意：在实际使用时，请替换为 'luckdog'
const { strUtil, arrUtil, validUtil } = require('../dist/luckdog.cjs');

console.log('------ 字符串工具演示 ------');
const longText = '这是一个很长的文本，需要被截断';
console.log(`原始文本: ${longText}`);
console.log(`截断后(10字符): ${strUtil.truncate(longText, 10)}`);
console.log(`截断后(5字符，自定义后缀): ${strUtil.truncate(longText, 5, '...')}`);
console.log(`字符串是否为空: ${strUtil.hasBlank('')}`);
console.log(`多个字符串是否有空: ${strUtil.hasBlank('hello', 'world', '')}`);

console.log('\n------ 数组工具演示 ------');
const duplicatedArray = [1, 2, 2, 3, 3, 4, 5, 5];
console.log(`原始数组: ${duplicatedArray}`);
console.log(`去重后: ${arrUtil.unique(duplicatedArray)}`);
console.log(`随机元素: ${arrUtil.random(duplicatedArray)}`);

console.log('\n------ 验证工具演示 ------');
const emails = ['test@example.com', 'invalid-email', 'another@domain.com'];
emails.forEach(email => {
  console.log(`"${email}" 是否为有效邮箱: ${validUtil.isValidEmail(email)}`);
});

console.log('\n------ 示例运行完成 ------');

// 方式2: 导入特定分类的全部工具函数
// 在实际使用时，您可以创建模块化的导出结构
/*
const { strUtil } = require('luckdog/dist/utils/strutil.cjs');
const { arrUtil } = require('luckdog/dist/utils/arrutil.cjs');
const { validUtil } = require('luckdog/dist/utils/validutil.cjs');

const shortText = strUtil.truncate('这是一个很长的文本', 5);
const uniqueArr = arrUtil.unique([1, 2, 2, 3]);
const isValid = validUtil.isValidEmail('test@example.com');
*/ 